"""
创建默认数据的工具函数
"""
from app.core.extensions import db
from app.models.system import Tenant


def create_default_tenant():
    """创建默认租户"""
    from flask import current_app
    from sqlalchemy import text

    try:
        # 使用原生SQL检查是否已存在ID为1的租户
        result = db.session.execute(text("SELECT COUNT(*) FROM tenants WHERE id = 1")).scalar()
        if result > 0:
            current_app.logger.info("默认租户已存在")
            return True

        # 使用原生SQL创建默认租户，避免触发租户过滤
        db.session.execute(text("""
            INSERT INTO tenants (id, name, code, app_id, admin_name, status, remark, created_at)
            VALUES (1, '默认租户', 'default', 'default_app', 'admin', 'active', '系统默认租户', NOW())
        """))
        db.session.commit()
        current_app.logger.info("已创建默认租户")
        return True

    except Exception as e:
        db.session.rollback()
        current_app.logger.error(f"创建默认租户失败: {str(e)}")
        return False


def init_default_data():
    """初始化默认数据"""
    create_default_tenant()
